// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.

package org.jetbrains.kotlin.idea.codeInsight;

import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode;
import org.jetbrains.kotlin.idea.base.test.TestRoot;
import org.jetbrains.kotlin.idea.test.JUnit3RunnerWithInners;
import org.jetbrains.kotlin.idea.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.runner.RunWith;

/**
 * This class is generated by {@link org.jetbrains.kotlin.testGenerator.generator.TestGenerator}.
 * DO NOT MODIFY MANUALLY.
 */
@SuppressWarnings("all")
@TestRoot("idea/tests")
@TestDataPath("$CONTENT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@TestMetadata("testData/codeInsight/lineMarker")
public abstract class LineMarkersTestGenerated extends AbstractLineMarkersTest {
    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/codeInsight/lineMarker/dslMarker")
    public static class DslMarker extends AbstractLineMarkersTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("markerAnnotationDeclaration.kt")
        public void testMarkerAnnotationDeclaration() throws Exception {
            runTest("testData/codeInsight/lineMarker/dslMarker/markerAnnotationDeclaration.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/codeInsight/lineMarker/main")
    public static class Main extends AbstractLineMarkersTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("main.kt")
        public void testMain() throws Exception {
            runTest("testData/codeInsight/lineMarker/main/main.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/codeInsight/lineMarker/methodSeparators")
    public static class MethodSeparators extends AbstractLineMarkersTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("MethodSeparators.kt")
        public void testMethodSeparators() throws Exception {
            runTest("testData/codeInsight/lineMarker/methodSeparators/MethodSeparators.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/codeInsight/lineMarker/overrideImplement")
    public static class OverrideImplement extends AbstractLineMarkersTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("AbstractClass.kt")
        public void testAbstractClass() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/AbstractClass.kt");
        }

        @TestMetadata("BadCodeNoExceptions.kt")
        public void testBadCodeNoExceptions() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/BadCodeNoExceptions.kt");
        }

        @TestMetadata("Class.kt")
        public void testClass() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/Class.kt");
        }

        @TestMetadata("ClassAndProperties.kt")
        public void testClassAndProperties() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/ClassAndProperties.kt");
        }

        @TestMetadata("ClassObjectInStaticNestedClass.kt")
        public void testClassObjectInStaticNestedClass() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/ClassObjectInStaticNestedClass.kt");
        }

        @TestMetadata("DelegatedFun.kt")
        public void testDelegatedFun() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/DelegatedFun.kt");
        }

        @TestMetadata("DelegatedProperty.kt")
        public void testDelegatedProperty() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/DelegatedProperty.kt");
        }

        @TestMetadata("EnumEntry.kt")
        public void testEnumEntry() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/EnumEntry.kt");
        }

        @TestMetadata("FakeOverrideForClasses.kt")
        public void testFakeOverrideForClasses() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/FakeOverrideForClasses.kt");
        }

        @TestMetadata("FakeOverrideFun.kt")
        public void testFakeOverrideFun() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/FakeOverrideFun.kt");
        }

        @TestMetadata("FakeOverrideFunWithMostRelevantImplementation.kt")
        public void testFakeOverrideFunWithMostRelevantImplementation() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/FakeOverrideFunWithMostRelevantImplementation.kt");
        }

        @TestMetadata("FakeOverrideProperty.kt")
        public void testFakeOverrideProperty() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/FakeOverrideProperty.kt");
        }

        @TestMetadata("FakeOverrideToStringInInterface.kt")
        public void testFakeOverrideToStringInInterface() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/FakeOverrideToStringInInterface.kt");
        }

        @TestMetadata("FakeOverridesForInterfaceFunWithImpl.kt")
        public void testFakeOverridesForInterfaceFunWithImpl() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/FakeOverridesForInterfaceFunWithImpl.kt");
        }

        @TestMetadata("ImplementedAndOverriddenPropertiesInCtr.kt")
        public void testImplementedAndOverriddenPropertiesInCtr() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/ImplementedAndOverriddenPropertiesInCtr.kt");
        }

        @TestMetadata("Interface.kt")
        public void testInterface() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/Interface.kt");
        }

        @TestMetadata("InterfaceDisabledImplOption.kt")
        public void testInterfaceDisabledImplOption() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/InterfaceDisabledImplOption.kt");
        }

        @TestMetadata("NavigateFromPrivateAbstractClass.kt")
        public void testNavigateFromPrivateAbstractClass() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/NavigateFromPrivateAbstractClass.kt");
        }

        @TestMetadata("NavigateToSeveralSuperElements.kt")
        public void testNavigateToSeveralSuperElements() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/NavigateToSeveralSuperElements.kt");
        }

        @TestMetadata("NoOverridingMarkerOnDefaultInterfaceImpl.kt")
        public void testNoOverridingMarkerOnDefaultInterfaceImpl() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/NoOverridingMarkerOnDefaultInterfaceImpl.kt");
        }

        @TestMetadata("Overloads.kt")
        public void testOverloads() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/Overloads.kt");
        }

        @TestMetadata("OverrideFunction.kt")
        public void testOverrideFunction() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/OverrideFunction.kt");
        }

        @TestMetadata("OverrideFunctionInJava.kt")
        public void testOverrideFunctionInJava() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/OverrideFunctionInJava.kt");
        }

        @TestMetadata("OverrideIconForOverloadMethodBug.kt")
        public void testOverrideIconForOverloadMethodBug() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/OverrideIconForOverloadMethodBug.kt");
        }

        @TestMetadata("OverrideMemberOfAbstractClass.kt")
        public void testOverrideMemberOfAbstractClass() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/OverrideMemberOfAbstractClass.kt");
        }

        @TestMetadata("OverridenInterfaceDeclarations.kt")
        public void testOverridenInterfaceDeclarations() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/OverridenInterfaceDeclarations.kt");
        }

        @TestMetadata("OverridingTooltipOnDefaultInterfaceImpl.kt")
        public void testOverridingTooltipOnDefaultInterfaceImpl() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/OverridingTooltipOnDefaultInterfaceImpl.kt");
        }

        @TestMetadata("PrimaryConstructorOpen.kt")
        public void testPrimaryConstructorOpen() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/PrimaryConstructorOpen.kt");
        }

        @TestMetadata("PrimaryConstructorOverride.kt")
        public void testPrimaryConstructorOverride() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/PrimaryConstructorOverride.kt");
        }

        @TestMetadata("PropertiesImplementedInCtr.kt")
        public void testPropertiesImplementedInCtr() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/PropertiesImplementedInCtr.kt");
        }

        @TestMetadata("PropertiesOverriddenInCtr.kt")
        public void testPropertiesOverriddenInCtr() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/PropertiesOverriddenInCtr.kt");
        }

        @TestMetadata("PropertyOverride.kt")
        public void testPropertyOverride() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/PropertyOverride.kt");
        }

        @TestMetadata("SamInterface.kt")
        public void testSamInterface() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/SamInterface.kt");
        }

        @TestMetadata("SealedClass.kt")
        public void testSealedClass() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/SealedClass.kt");
        }

        @TestMetadata("ToStringInInterface.kt")
        public void testToStringInInterface() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/ToStringInInterface.kt");
        }

        @TestMetadata("WithJavaAnonymousInheritor.kt")
        public void testWithJavaAnonymousInheritor() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/WithJavaAnonymousInheritor.kt");
        }

        @TestMetadata("WithJavaInheritor.kt")
        public void testWithJavaInheritor() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/WithJavaInheritor.kt");
        }

        @TestMetadata("WithJavaInheritorProperty.kt")
        public void testWithJavaInheritorProperty() throws Exception {
            runTest("testData/codeInsight/lineMarker/overrideImplement/WithJavaInheritorProperty.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/codeInsight/lineMarker/recursiveCall")
    public static class RecursiveCall extends AbstractLineMarkersTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("backticksInName.kt")
        public void testBackticksInName() throws Exception {
            runTest("testData/codeInsight/lineMarker/recursiveCall/backticksInName.kt");
        }

        @TestMetadata("companionInvoke.kt")
        public void testCompanionInvoke() throws Exception {
            runTest("testData/codeInsight/lineMarker/recursiveCall/companionInvoke.kt");
        }

        @TestMetadata("conventionCall.kt")
        public void testConventionCall() throws Exception {
            runTest("testData/codeInsight/lineMarker/recursiveCall/conventionCall.kt");
        }

        @TestMetadata("differentImplicitReceiver.kt")
        public void testDifferentImplicitReceiver() throws Exception {
            runTest("testData/codeInsight/lineMarker/recursiveCall/differentImplicitReceiver.kt");
        }

        @TestMetadata("extension.kt")
        public void testExtension() throws Exception {
            runTest("testData/codeInsight/lineMarker/recursiveCall/extension.kt");
        }

        @TestMetadata("generic.kt")
        public void testGeneric() throws Exception {
            runTest("testData/codeInsight/lineMarker/recursiveCall/generic.kt");
        }

        @TestMetadata("inInlinedFunctionExpression.kt")
        public void testInInlinedFunctionExpression() throws Exception {
            runTest("testData/codeInsight/lineMarker/recursiveCall/inInlinedFunctionExpression.kt");
        }

        @TestMetadata("inInlinedLambda.kt")
        public void testInInlinedLambda() throws Exception {
            runTest("testData/codeInsight/lineMarker/recursiveCall/inInlinedLambda.kt");
        }

        @TestMetadata("inLambda.kt")
        public void testInLambda() throws Exception {
            runTest("testData/codeInsight/lineMarker/recursiveCall/inLambda.kt");
        }

        @TestMetadata("localClass.kt")
        public void testLocalClass() throws Exception {
            runTest("testData/codeInsight/lineMarker/recursiveCall/localClass.kt");
        }

        @TestMetadata("localFun.kt")
        public void testLocalFun() throws Exception {
            runTest("testData/codeInsight/lineMarker/recursiveCall/localFun.kt");
        }

        @TestMetadata("methodReference.kt")
        public void testMethodReference() throws Exception {
            runTest("testData/codeInsight/lineMarker/recursiveCall/methodReference.kt");
        }

        @TestMetadata("nested.kt")
        public void testNested() throws Exception {
            runTest("testData/codeInsight/lineMarker/recursiveCall/nested.kt");
        }

        @TestMetadata("otherQualifier.kt")
        public void testOtherQualifier() throws Exception {
            runTest("testData/codeInsight/lineMarker/recursiveCall/otherQualifier.kt");
        }

        @TestMetadata("propertyAccessors.kt")
        public void testPropertyAccessors() throws Exception {
            runTest("testData/codeInsight/lineMarker/recursiveCall/propertyAccessors.kt");
        }

        @TestMetadata("severalCallsInOneLine.kt")
        public void testSeveralCallsInOneLine() throws Exception {
            runTest("testData/codeInsight/lineMarker/recursiveCall/severalCallsInOneLine.kt");
        }

        @TestMetadata("simple.kt")
        public void testSimple() throws Exception {
            runTest("testData/codeInsight/lineMarker/recursiveCall/simple.kt");
        }

        @TestMetadata("superQualifier.kt")
        public void testSuperQualifier() throws Exception {
            runTest("testData/codeInsight/lineMarker/recursiveCall/superQualifier.kt");
        }

        @TestMetadata("thisQualifier.kt")
        public void testThisQualifier() throws Exception {
            runTest("testData/codeInsight/lineMarker/recursiveCall/thisQualifier.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/codeInsight/lineMarker/runMarkers")
    public static class RunMarkers extends AbstractLineMarkersTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("jUnit3TestFile.kt")
        public void testJUnit3TestFile() throws Exception {
            runTest("testData/codeInsight/lineMarker/runMarkers/jUnit3TestFile.kt");
        }

        @TestMetadata("jUnit3TestFileWithJUnit4.kt")
        public void testJUnit3TestFileWithJUnit4() throws Exception {
            runTest("testData/codeInsight/lineMarker/runMarkers/jUnit3TestFileWithJUnit4.kt");
        }

        @TestMetadata("jUnit4TestFile.kt")
        public void testJUnit4TestFile() throws Exception {
            runTest("testData/codeInsight/lineMarker/runMarkers/jUnit4TestFile.kt");
        }

        @TestMetadata("jUnit5TestFile.kt")
        public void testJUnit5TestFile() throws Exception {
            runTest("testData/codeInsight/lineMarker/runMarkers/jUnit5TestFile.kt");
        }

        @TestMetadata("jUnitTestClassWithSubclasses.kt")
        public void testJUnitTestClassWithSubclasses() throws Exception {
            runTest("testData/codeInsight/lineMarker/runMarkers/jUnitTestClassWithSubclasses.kt");
        }

        @TestMetadata("testNGTestClassWithSubclasses.kt")
        public void testTestNGTestClassWithSubclasses() throws Exception {
            runTest("testData/codeInsight/lineMarker/runMarkers/testNGTestClassWithSubclasses.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/codeInsight/lineMarker/suspendCall")
    public static class SuspendCall extends AbstractLineMarkersTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
        }

        @TestMetadata("suspendCall.kt")
        public void testSuspendCall() throws Exception {
            runTest("testData/codeInsight/lineMarker/suspendCall/suspendCall.kt");
        }

        @TestMetadata("suspendIteration.kt")
        public void testSuspendIteration() throws Exception {
            runTest("testData/codeInsight/lineMarker/suspendCall/suspendIteration.kt");
        }
    }
}
